package com.bjsxt.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bjsxt.domain.Coin;
import com.bjsxt.dto.CoinDto;

import java.util.List;

public interface CoinService extends IService<Coin> {

    /**
     * 根据传入的 page 规则分页查询数字货币
     *
     * @param page   分页对象<Coin>
     * @param name   币种名称
     * @param type   币种类型，xnb：人民币,default：比特币系列,ETH：以太坊,ethToken：以太坊代币,
     * @param status 状态，status=1：启用,0：禁用
     * @param title  币种标题
     * @param wallet 钱包类型，rgb：认购币,qbb：钱包币
     * @return 根据条件查询出的数字货币分页数据
     */
    Page<Coin> pageByNameAndTypeAndStatusAndTitleAndWalletType(Page<Coin> page, String name, String type, Byte status, String title, String wallet);

    /**
     * 根据状态查询所有的币种
     *
     * @param status 状态：0: 无效 1:有效
     * @return 币种数据集合
     */
    List<Coin> listByStatus(Byte status);

    /**
     * 根据币种名称获取币种数据
     *
     * @param coinName 币种名称
     * @return 币种数据
     */
    Coin getByCoinName(String coinName);

    /**
     * 使用 ID集合查询币种数据
     *
     * @param ids id 集合
     * @return 币种集合数据
     */
    List<CoinDto> getByIds(List<Long> ids);
}
